emacs.git
2 years ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:38:18 +0000 (04:38 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

95d9e6eb6b4 * Don't install unnecessary trampolines (bug#69573) (don'...

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:38:17 +0000 (04:38 -0400)]
Merge from origin/emacs-29

38faacf353f Improve documentation of <Delete> in user manual
9d3d77f12da Fix documentation of 'other-window-for-scrolling'

2 years ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:38:17 +0000 (04:38 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

96fb7199424 Bump Emacs version to 29.3.50

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:37:43 +0000 (04:37 -0400)]
Merge from origin/emacs-29

ae8f815613c Update files for Emacs 29.3

2 years ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:36:13 +0000 (04:36 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

ff6cc3d2cf0 * lisp/ldefs-boot.el: Regenerate.
0dab0c0d688 Bump Emacs version to 29.3

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 30 Mar 2024 08:35:24 +0000 (04:35 -0400)]
Merge from origin/emacs-29

7a5d7be52c5 org--confirm-resource-safe: Fix prompt when prompting in ...
2bc865ace05 org-file-contents: Consider all remote files unsafe
6f9ea396f49 org-latex-preview: Add protection when `untrusted-content...
937b9042ad7 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark ...
ccc188fcf98 * lisp/files.el (untrusted-content): New variable.
befa9fcaae2 org-macro--set-templates: Prevent code evaluation
3221d8d4611 * admin/authors.el (authors-aliases): Add ignored authors.
8d8253f8991 * etc/NEWS: Update for Emacs 29.3

2 years ago; Fix last change in inclusion of byteswap.h header
Eli Zaretskii [Sat, 30 Mar 2024 07:52:00 +0000 (10:52 +0300)]
; Fix last change in inclusion of byteswap.h header

* src/w32uniscribe.c (w32hb_get_font_table): Avoid warning due to
redefinition of 'bswap_32'.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 30 Mar 2024 07:38:34 +0000 (10:38 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoFix implicit declaration of bswap_{32,64}
Andreas Schwab [Sat, 30 Mar 2024 07:29:52 +0000 (08:29 +0100)]
Fix implicit declaration of bswap_{32,64}

* src/data.c: Move include of <byteswap.h> ...
* src/lisp.h: ... here.

2 years agoClean up removal of libjansson parser
Eli Zaretskii [Sat, 30 Mar 2024 07:37:09 +0000 (10:37 +0300)]
Clean up removal of libjansson parser

* src/json.c (json_has_suffix, json_has_prefix): Remove unused
functions.
(json_object_key_to_iter, json_array_get, json_loads)
(json_load_callback, json_object_iter, json_object_iter_value)
(json_string_value, json_object_size, json_object_iter_key)
(json_object_iter_next, json_real_value, json_string_length)
(json_integer_value) [WINDOWSNT]: Don't DEF_DLL_FN, don't
LOAD_DLL_FN, and don't define a macro for unused libjansson
functions.
(JSON_HAS_ERROR_CODE): Remove: not used.

2 years agoReplace libjansson JSON parser with a custom one
Géza Herman [Wed, 6 Mar 2024 12:14:50 +0000 (13:14 +0100)]
Replace libjansson JSON parser with a custom one

* src/json.c (json_parse_error, json_to_lisp)
(json_read_buffer_callback): Remove functions.
(struct json_parser): New struct.
(json_signal_error, json_parser_init, json_parser_done)
(json_make_object_workspace_for_slow_path)
(json_make_object_workspace_for, json_byte_workspace_reset)
(json_byte_workspace_put_slow_path, json_byte_workspace_put)
(json_input_at_eof, json_input_switch_to_secondary)
(json_input_get_slow_path, json_input_get)
(json_input_get_if_possible, json_input_put_back)
(json_skip_whitespace_internal, json_skip_whitespace)
(json_skip_whitespace_if_possible, json_hex_value)
(json_parse_unicode, json_handle_utf8_tail_bytes)
(json_parse_string, json_create_integer, json_create_float)
(json_parse_number, json_parse_array)
(json_parse_object_member_value, json_parse_object)
(json_is_token_char, json_parse_value, json_parse): New functions.
(Fjson_parse_buffer, Fjson_parse_string): Adjust to changes in the
parser.
(syms_of_json): DEFSYM new symbols and define_error new errors.

2 years agoDisable VC in special directories on Android
Po Lu [Sat, 30 Mar 2024 07:05:30 +0000 (15:05 +0800)]
Disable VC in special directories on Android

* lisp/vc/vc-hooks.el (vc-registered, vc-backend): Return nil
without invoking any backend if FILE or FILE-OR-LIST sits within
/content or /assets.

2 years agoRationalize java/Makefile.in
Po Lu [Sat, 30 Mar 2024 01:59:36 +0000 (09:59 +0800)]
Rationalize java/Makefile.in

* java/Makefile.in: (emacs.apk-in): Bring commentary up to date,
and package classes.dex at this stage of the process.
($(APK_NAME)): Adjust to match.

2 years agoFix building the SFNT font driver
Po Lu [Sat, 30 Mar 2024 00:58:59 +0000 (08:58 +0800)]
Fix building the SFNT font driver

* src/sfntfont.c (sfntfont_list, sfntfont_list_family): Update
calls to Fsort for the new calling convention.

2 years ago* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases
Stefan Monnier [Fri, 29 Mar 2024 19:36:45 +0000 (15:36 -0400)]
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases

2 years ago* lisp/cedet/semantic/tag.el (semantic-tag): New type
Stefan Monnier [Fri, 29 Mar 2024 19:32:48 +0000 (15:32 -0400)]
* lisp/cedet/semantic/tag.el (semantic-tag): New type

2 years ago; * lisp/shell.el (w32-application-type): Fix 'declare-function'.
Eli Zaretskii [Fri, 29 Mar 2024 15:26:38 +0000 (18:26 +0300)]
; * lisp/shell.el (w32-application-type): Fix 'declare-function'.

2 years ago`value<` manual entry adjustments (bug#69709)
Mattias Engdegård [Fri, 29 Mar 2024 14:25:22 +0000 (15:25 +0100)]
`value<` manual entry adjustments (bug#69709)

* doc/lispref/sequences.texi (Sequence Functions):
Explain lexicographical ordering.  Note the dual nature of `nil`.
Mention the depth limit.

2 years ago* src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).
Mattias Engdegård [Fri, 29 Mar 2024 14:23:56 +0000 (15:23 +0100)]
* src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).

This gives `value<` the same limit as `equal` which seems about right.

2 years agoSupport `shell-resync-dirs' on msys bash (Bug#70012)
Sam Steingold [Fri, 29 Mar 2024 14:36:43 +0000 (10:36 -0400)]
Support `shell-resync-dirs' on msys bash (Bug#70012)

* lisp/shell.el (w32-application-type): Declare.
(shell-mode): Set `shell-dirstack-query' to `pwd -W` when using msys bash.

2 years ago; * doc/lispref/sequences.texi (Sequence Functions): Fix markup and examples.
Eli Zaretskii [Fri, 29 Mar 2024 12:03:44 +0000 (15:03 +0300)]
; * doc/lispref/sequences.texi (Sequence Functions): Fix markup and examples.

2 years ago; * test/lisp/vc/vc-git-tests.el: bend doc string quote
Mattias Engdegård [Fri, 29 Mar 2024 10:53:56 +0000 (11:53 +0100)]
; * test/lisp/vc/vc-git-tests.el: bend doc string quote

2 years agoBetter `sort` ignored-return-value warning
Mattias Engdegård [Sun, 24 Mar 2024 17:18:41 +0000 (18:18 +0100)]
Better `sort` ignored-return-value warning

* lisp/emacs-lisp/bytecomp.el (byte-compile-form)
(bytecomp--actually-important-return-value-p):
Special handling of `sort` that takes into account that it may return
an important value depending on the :in-place keyword argument.

2 years agoRemove `sort-on` (bug#69709)
Mattias Engdegård [Fri, 22 Mar 2024 14:06:27 +0000 (15:06 +0100)]
Remove `sort-on` (bug#69709)

* lisp/sort.el (sort-on):
* doc/lispref/sequences.texi (Sequence Functions):
* etc/NEWS:
Remove the `sort-on` function which is now completely superseded by
the extended `sort` in features, ease of use, and performance.

2 years agoUse new-style `sort` signature in Lisp manual examples
Mattias Engdegård [Fri, 22 Mar 2024 14:08:50 +0000 (15:08 +0100)]
Use new-style `sort` signature in Lisp manual examples

* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/strings.texi (Text Comparison):
Use the new sort calling convention (bug#69709).

2 years agoFaster non-destructive list sorting
Mattias Engdegård [Fri, 22 Mar 2024 10:54:09 +0000 (11:54 +0100)]
Faster non-destructive list sorting

Postpone the creation of a new list to after sorting which turns out to
be a lot faster (1.1x - 1.5x speedup).

* src/fns.c (sort_list, sort_vector, Fsort):
Create the new list when moving the data out from the temporary array.

2 years agoSpeed up `sort` by special-casing the `value<` ordering
Mattias Engdegård [Thu, 21 Mar 2024 18:35:15 +0000 (19:35 +0100)]
Speed up `sort` by special-casing the `value<` ordering

This gives a 1.5x-2x speed-up when using the default :lessp value,
by eliminating the Ffuncall overhead.

* src/sort.c (order_pred_lisp, order_pred_valuelt): New.
(merge_state, inorder, binarysort, count_run, gallop_left, gallop_right)
(merge_init, merge_lo, merge_hi, tim_sort):
* src/fns.c (Fsort):
When using value<, call it directly.

2 years agoNew `sort` keyword arguments (bug#69709)
Mattias Engdegård [Tue, 19 Mar 2024 12:03:47 +0000 (13:03 +0100)]
New `sort` keyword arguments (bug#69709)

Add the :key, :lessp, :reverse and :in-place keyword arguments.
The old calling style remains available and is unchanged.

* src/fns.c (sort_list, sort_vector, Fsort):
* src/sort.c (tim_sort):
Add keyword arguments with associated new features.
All callers of Fsort adapted.
* test/src/fns-tests.el (fns-tests--shuffle-vector, fns-tests-sort-kw):
New test.
* doc/lispref/sequences.texi (Sequence Functions): Update manual.
* etc/NEWS: Announce.

2 years agoAdd back timsort key function handling (bug#69709)
Mattias Engdegård [Mon, 18 Mar 2024 18:56:20 +0000 (19:56 +0100)]
Add back timsort key function handling (bug#69709)

The original timsort code did provide for a key (accessor) function
along with the necessary storage management, but we dropped it because
our `sort` function didn't need it.

Now it's been put back since it seems that it will come in handy after all.

* src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key function
to tim_sort.
* src/sort.c (reverse_slice, sortslice_copy)
(sortslice_copy_incr, sortslice_copy_decr, sortslice_memcpy)
(sortslice_memmove, sortslice_advance): New functions.
(sortslice): New type.
(struct stretch, struct reloc, merge_state)
(binarysort, merge_init, merge_markmem, cleanup_mem)
(merge_register_cleanup, merge_getmem, merge_lo, merge_hi, merge_at)
(found_new_run, reverse_sortslice, resolve_fun, tim_sort):
Merge back previously discarded parts from the upstreams timsort code
that dealt with key functions, and adapt them to fit in.

2 years agoAdd `value<` (bug#69709)
Mattias Engdegård [Sun, 10 Mar 2024 12:18:22 +0000 (13:18 +0100)]
Add `value<` (bug#69709)

It's a general-purpose polymorphic ordering function, like `<` but
for any two values of the same type.

* src/data.c (syms_of_data): Add the `type-mismatch` error.
(bits_word_to_host_endian): Move...
* src/lisp.h (bits_word_to_host_endian): ...here, and declare inline.
* src/fns.c (Fstring_lessp): Extract the bulk of this function to...
(string_cmp): ...this 3-way comparison function, for use elsewhere.
(bool_vector_cmp, value_cmp, Fvaluelt): New.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
Add `value<`, which is pure and side-effect-free.
* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered)
(fns-value<-type-mismatch, fns-value<-symbol-with-pos)
(fns-value<-circle, ert-deftest fns-value<-bool-vector): New tests.
* doc/lispref/sequences.texi (Sequence Functions):
* doc/lispref/numbers.texi (Comparison of Numbers):
* doc/lispref/strings.texi (Text Comparison):
Document the new value< function.
* etc/NEWS: Announce.

2 years ago; * java/org/gnu/emacs/EmacsActivity.java (isReallyFinishing): Fix typo.
Po Lu [Thu, 28 Mar 2024 11:57:22 +0000 (19:57 +0800)]
; * java/org/gnu/emacs/EmacsActivity.java (isReallyFinishing): Fix typo.

2 years agoPrevent Android OS task trimming from deleting Emacs frames
Po Lu [Thu, 28 Mar 2024 11:56:31 +0000 (19:56 +0800)]
Prevent Android OS task trimming from deleting Emacs frames

* doc/emacs/android.texi (Android Windowing): Document proviso
on Android 7.0 and later.

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
<timeOfLastInteraction>: New field.
(onStop, onResume): Set and clear timeOfLastInteraction.
(isReallyFinishing): New function.
(onDestroy): Don't delete frame even in the event isFinishing
returns true if more than 4 hours have elapsed since the
activity last moved into the background.

2 years agopp.el: Try and fix bug#70039
Stefan Monnier [Thu, 28 Mar 2024 19:31:04 +0000 (15:31 -0400)]
pp.el: Try and fix bug#70039

* lisp/emacs-lisp/pp.el (pp-fill): Avoid splitting `#N#` or `#[`.
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity): New test.

2 years ago* lisp/emacs-lisp/cl-macs.el (list): Predefine predicate by hand
Stefan Monnier [Thu, 28 Mar 2024 16:27:54 +0000 (12:27 -0400)]
* lisp/emacs-lisp/cl-macs.el (list): Predefine predicate by hand

2 years agoFix a typo in flymake.el
Eli Zaretskii [Thu, 28 Mar 2024 10:15:13 +0000 (12:15 +0200)]
Fix a typo in flymake.el

* lisp/progmodes/flymake.el (flymake--update-eol-overlays): Use
'save-restriction', not 'save-excursion'.  (Bug#69984)

2 years agocopy-tree just image map, not entire image
Joseph Turner [Sat, 23 Mar 2024 20:29:17 +0000 (13:29 -0700)]
copy-tree just image map, not entire image

* lisp/image.el (image--compute-original-map): Copy only
the image map.  (Bug#69602)

2 years ago; * etc/NEWS: Announce new feature of Proced. (Bug#69784)
Eli Zaretskii [Thu, 28 Mar 2024 09:50:22 +0000 (11:50 +0200)]
; * etc/NEWS: Announce new feature of Proced.  (Bug#69784)

2 years agoAllow for auto updating only visible proced buffers (bug#69784)
Rahguzar [Fri, 15 Mar 2024 17:46:46 +0000 (18:46 +0100)]
Allow for auto updating only visible proced buffers (bug#69784)

* lisp/proced.el (proced-auto-update-flag): Document 'visible'
value and add it to the custom type.
(proced-auto-update-timer, proced-toggle-auto-update): Take
'visible' value into account.

2 years agoImprove ert-font-lock assertion parser (Bug#69714)
Vladimir Kazanov [Tue, 12 Mar 2024 11:14:54 +0000 (11:14 +0000)]
Improve ert-font-lock assertion parser (Bug#69714)

Fail on files with no assertions, parser now accepts multiple
carets per line and face lists:
* lisp/emacs-lisp/ert-font-lock.el: Assertion parser fix.
* test/lisp/emacs-lisp/ert-font-lock-resources/no-asserts.js:
* test/lisp/emacs-lisp/ert-font-lock-tests.el
(test-parse-comments--no-assertion-error)
(test-syntax-highlight-inline--caret-negated-wrong-face)
(test-macro-test--file-no-asserts): New test cases.
* doc/misc/ert.texi (Syntax Highlighting Tests): More syntax examples.

2 years ago; * lisp/emacs-lisp/pcase.el (pcase--subtype-bitsets): Doc fix.
Eli Zaretskii [Thu, 28 Mar 2024 09:34:25 +0000 (11:34 +0200)]
; * lisp/emacs-lisp/pcase.el (pcase--subtype-bitsets): Doc fix.

2 years ago(pcase-mutually-exclusive): Use auto-generated table
Stefan Monnier [Thu, 28 Mar 2024 04:06:00 +0000 (00:06 -0400)]
(pcase-mutually-exclusive): Use auto-generated table

The `pcase-mutually-exclusive-predicates` table was not very
efficient since it grew like O(N²) with the number of
predicates.  Replace it with an O(N) table that's auto-generated
from the `built-in-class` objects.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Delete variable.
(pcase--subtype-bitsets): New function and constant.
(pcase--mutually-exclusive-p): Use them.
* lisp/emacs-lisp/cl-preloaded.el (built-in-class): Don't inline.

2 years ago(project-current): Add binding for 'non-essential'
Dmitry Gutov [Thu, 28 Mar 2024 03:41:52 +0000 (05:41 +0200)]
(project-current): Add binding for 'non-essential'

* lisp/progmodes/project.el (project-current):
Add binding for 'non-essential' (bug#69584).

2 years agoCorrectly check buffer mtime when displaying xref matches
Spencer Baugh [Tue, 26 Mar 2024 12:44:25 +0000 (08:44 -0400)]
Correctly check buffer mtime when displaying xref matches

This was just a typo: we were checking the modification time of
current-buffer instead of checking the modification time of the
passed-in buffer.

This caused matches to not be shown if they weren't present in
the current in-Emacs state of the buffer.

This was easily reproduced by writing a string to a file outside
Emacs, then searching for that string with
e.g. project-find-regexp.  The string would seemingly not be
found, although in reality it was found, just not displayed.

* lisp/progmodes/xref.el (xref--find-file-buffer):
Check buf, not current-buffer (bug#70008).

2 years agoRemove IME_FLAG_FORCE_ASCII from password input IME flags
Po Lu [Wed, 27 Mar 2024 02:03:15 +0000 (10:03 +0800)]
Remove IME_FLAG_FORCE_ASCII from password input IME flags

* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Passwords might also be non-ASCII, and this flag apparently
requests an IME limited to ASCII characters, rather than just
capable of ASCII input.

2 years ago* lisp/help.el (help-function-arglist): Don't `substitute-command-keys`
Stefan Monnier [Tue, 26 Mar 2024 21:41:42 +0000 (17:41 -0400)]
* lisp/help.el (help-function-arglist): Don't `substitute-command-keys`

2 years agocl-preloaded.el: Partly revert last change
Stefan Monnier [Tue, 26 Mar 2024 21:27:29 +0000 (17:27 -0400)]
cl-preloaded.el: Partly revert last change

The change caused type-check errors in auth-source where they use
`:type function` constraints on object slots and expect those to
be able to hold symbols.

* lisp/emacs-lisp/cl-preloaded.el (function): Revert last change.

* test/src/data-tests.el (data-tests--cl-type-of): Use `cl-functionp`
rather than `functionp` to test `function`.

2 years agoCC Mode: Handle C++20's if consteval
Alan Mackenzie [Tue, 26 Mar 2024 20:59:43 +0000 (20:59 +0000)]
CC Mode: Handle C++20's if consteval

* lisp/progmodes/cc-engine.el (c-after-conditional): Handle the
new keyword in place of a paren sexp after `if'.

* lisp/progmodes/cc-langs.el (c-negation-op-re)
(c-paren-clause-kwds, c-paren-clause-key)
(c-block-stmt-with-kwds, c-block-stmt-with-key): New
lang-consts/vars.

* if-11.cc, if-11.res: New test files.

2 years agocl-preloaded.el: Fix the type lattice
Stefan Monnier [Tue, 26 Mar 2024 17:14:15 +0000 (13:14 -0400)]
cl-preloaded.el: Fix the type lattice

We generally want types to form not just a DAG but a lattice.
If objects can be both `keyword` and `symbol-with-pos`, this
means there should be a more precise type describing this intersection.
If we ever find the need for such a refinement, we could add
such a `keyword-with-pos` type, but here I took the simpler
route of treating `keyword` not as a proper built-in type but
as a second-class type like `natnum`.

While fixing this problem, also fix the problem we had where
`functionp` was not quite adequate to characterize objects of type
`function`, by introducing a new predicate `cl-functionp` for that.

* lisp/emacs-lisp/cl-preloaded.el (cl-functionp): New function.
(function): Use it.
(keyword): Don't declare it as a built-in type.
(user-ptrp): Remove redundant declaration.

* lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types):
Delete constant.
(cl-generic-generalizers): Remove corresponding test.

* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add entry for
`keyword` type.

* lisp/emacs-lisp/comp.el (comp-known-predicates): Fix type for
negative result of `characterp`.  Remove duplicate `numberp` entry.
Fix types for `keywordp` now that `keyword` is not a built-in type any more.

* test/src/data-tests.el (data-tests--cl-type-of): Add a few cases.
Remove workaround for `function`.

2 years ago; Fix recently-changed documentation
Eli Zaretskii [Tue, 26 Mar 2024 12:24:16 +0000 (14:24 +0200)]
; Fix recently-changed documentation

* src/buffer.c (syms_of_buffer) <text-conversion-style>:
* doc/lispref/commands.texi (Misc Events): Fix wording and
punctuation of the documentation.

2 years agoFix native comp prediction on null functionp tested objects
Andrea Corallo [Tue, 26 Mar 2024 10:14:08 +0000 (11:14 +0100)]
Fix native comp prediction on null functionp tested objects

* lisp/emacs-lisp/comp.el (comp-known-predicates)
(comp-known-predicates-h): Update.
(comp--pred-to-pos-cstr, comp--pred-to-neg-cstr): New functions.
(comp--add-cond-cstrs): Make use of them.

* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.

2 years ago* Don't install unnecessary trampolines (bug#69573) (don't merge)
Andrea Corallo [Tue, 26 Mar 2024 07:20:54 +0000 (08:20 +0100)]
* Don't install unnecessary trampolines (bug#69573) (don't merge)

* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install):
Check that subr-name actually matches the target subr.

2 years agoPrevent focus "stalemates" on Android
Po Lu [Tue, 26 Mar 2024 02:54:39 +0000 (10:54 +0800)]
Prevent focus "stalemates" on Android

* java/org/gnu/emacs/EmacsActivity.java (invalidateFocus1): New
argument resetWhenChildless.
(invalidateFocus): If a toplevel window has no focus window,
transfer focus to the toplevel itself.

2 years agoPrevent passwords from being recorded during text conversion
Po Lu [Tue, 26 Mar 2024 02:11:26 +0000 (10:11 +0800)]
Prevent passwords from being recorded during text conversion

* doc/lispref/commands.texi (Misc Events): Document new value of
text-conversion-style.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
<IC_MODE_PASSWORD>: New constant.

* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
is IC_MODE_PASSWORD.

* lisp/subr.el (read-passwd): Set text-conversion-style to
`password'.

* src/androidgui.h (enum android_ic_mode): New value
ANDROID_IC_MODE_PASSWORD.

* src/androidterm.c (android_reset_conversion): Handle
`password'.

* src/buffer.c (syms_of_buffer)
<&BVAR (current_buffer, text_conversion_style)>: Update doc
string.

* src/textconv.c (syms_of_textconv) <Qpassword>: New DEFSYM.
<Vtext_conversion_edits>: Fix typos in doc string.

2 years agoImprove documentation of <Delete> in user manual
Eli Zaretskii [Mon, 25 Mar 2024 19:49:55 +0000 (21:49 +0200)]
Improve documentation of <Delete> in user manual

* doc/emacs/basic.texi (Erasing): Document that <Delete> deletes
entire grapheme clusters.

2 years agoFix removal of bookmark's fringe mark in Info and Dired
Eli Zaretskii [Mon, 25 Mar 2024 13:51:07 +0000 (15:51 +0200)]
Fix removal of bookmark's fringe mark in Info and Dired

* lisp/bookmark.el (bookmark-buffer-file-name): Support Info
buffers.
(bookmark--remove-fringe-mark): Call 'bookmark-buffer-file-name'
instead of using 'buffer-file-name', which could be nil.
(Bug#69974)

2 years agoFix documentation of 'other-window-for-scrolling'
Eli Zaretskii [Mon, 25 Mar 2024 13:12:42 +0000 (15:12 +0200)]
Fix documentation of 'other-window-for-scrolling'

* src/window.c (Fother_window_for_scrolling): More accurate
documentation of how "the other" window is looked for.  Suggested
by Karthik Chikmagalur <karthikchikmagalur@gmail.com>.

2 years agoDocument the 'I' command in buffer-menu
Eli Zaretskii [Mon, 25 Mar 2024 12:53:23 +0000 (14:53 +0200)]
Document the 'I' command in buffer-menu

* doc/emacs/buffers.texi (Several Buffers): Document 'I'.  Fix
indexing.
(List Buffers): Mention 'I'.  (Bug#69987)

* etc/NEWS: Mark 'I' as documented.

2 years ago* lisp/vc/diff-mode.el (diff-setup-buffer-type): Remove "\n" from regexp.
Juri Linkov [Mon, 25 Mar 2024 07:45:08 +0000 (09:45 +0200)]
* lisp/vc/diff-mode.el (diff-setup-buffer-type): Remove "\n" from regexp.

Remove extra "\n" from the end of the "diff --git.*" part
of 'diff-outline-regexp' because "\n" is not used in outline-regexp
and causes problems in such cases like when killing hunks
in the diff buffer with outline-minor-mode that loses
the outline icons because outline--fix-buttons-after-change and
outline--fix-up-all-buttons are limited to the single line and
can't match an outline line with a regexp that ends with "\n".

2 years agoMerge remote-tracking branch 'savannah/master' into master-android-1
Po Lu [Mon, 25 Mar 2024 07:43:01 +0000 (15:43 +0800)]
Merge remote-tracking branch 'savannah/master' into master-android-1

2 years agoPort restart-emacs to Android 4.3 and earlier
Po Lu [Mon, 25 Mar 2024 07:42:23 +0000 (15:42 +0800)]
Port restart-emacs to Android 4.3 and earlier

* java/org/gnu/emacs/EmacsService.java (restartEmacs): Run Emacs
from an alarm if required.

2 years ago(byte-optimize-form-code-walker): Simplify a bit
Stefan Monnier [Mon, 25 Mar 2024 02:13:44 +0000 (22:13 -0400)]
(byte-optimize-form-code-walker): Simplify a bit

Eliminate a case that matches very rarely and where the default
handling works just as well anyway.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove
redundant case.

2 years agoBump Emacs version to 29.3.50
Eli Zaretskii [Sun, 24 Mar 2024 14:38:01 +0000 (10:38 -0400)]
Bump Emacs version to 29.3.50

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 29.3.50.

2 years agoUpdate files for Emacs 29.3
Eli Zaretskii [Sun, 24 Mar 2024 13:37:03 +0000 (09:37 -0400)]
Update files for Emacs 29.3

* ChangeLog.4:
* etc/AUTHORS:
* etc/HISTORY: Update for Emacs 29.3.

2 years ago* lisp/ldefs-boot.el: Regenerate.
Eli Zaretskii [Sun, 24 Mar 2024 13:36:24 +0000 (09:36 -0400)]
* lisp/ldefs-boot.el: Regenerate.

2 years agoBump Emacs version to 29.3
Eli Zaretskii [Sun, 24 Mar 2024 13:05:17 +0000 (09:05 -0400)]
Bump Emacs version to 29.3

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.3.

2 years agoorg--confirm-resource-safe: Fix prompt when prompting in non-file Org buffers
Ihor Radchenko [Fri, 23 Feb 2024 09:56:58 +0000 (12:56 +0300)]
org--confirm-resource-safe: Fix prompt when prompting in non-file Org buffers

* lisp/org/org.el (org--confirm-resource-safe): When called from
non-file buffer, do not put stray "f" in the prompt.

2 years agoorg-file-contents: Consider all remote files unsafe
Ihor Radchenko [Tue, 20 Feb 2024 11:59:20 +0000 (14:59 +0300)]
org-file-contents: Consider all remote files unsafe

* lisp/org/org.el (org-file-contents): When loading files, consider all
remote files (like TRAMP-fetched files) unsafe, in addition to URLs.

2 years agoorg-latex-preview: Add protection when `untrusted-content' is non-nil
Ihor Radchenko [Tue, 20 Feb 2024 09:47:24 +0000 (12:47 +0300)]
org-latex-preview: Add protection when `untrusted-content' is non-nil

* lisp/org/org.el (org--latex-preview-when-risky): New variable
controlling how to handle LaTeX previews in Org files from untrusted
origin.
(org-latex-preview): Consult `org--latex-preview-when-risky' before
generating previews.

This patch adds a layer of protection when LaTeX preview is requested
for an email attachment, where `untrusted-content' is set to non-nil.

2 years ago* lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark contents untrusted.
Ihor Radchenko [Tue, 20 Feb 2024 09:44:30 +0000 (12:44 +0300)]
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark contents untrusted.

2 years ago* lisp/files.el (untrusted-content): New variable.
Ihor Radchenko [Tue, 20 Feb 2024 09:43:51 +0000 (12:43 +0300)]
* lisp/files.el (untrusted-content): New variable.

The new variable is to be used when buffer contents comes from untrusted
source.

2 years agoorg-macro--set-templates: Prevent code evaluation
Ihor Radchenko [Tue, 20 Feb 2024 09:19:46 +0000 (12:19 +0300)]
org-macro--set-templates: Prevent code evaluation

* lisp/org/org-macro.el (org-macro--set-templates): Get rid of any
risk to evaluate code when `org-macro--set-templates' is called as a
part of major mode initialization.  This way, no code evaluation is
ever triggered when user merely opens the file or when
`mm-display-org-inline' invokes Org major mode to fontify mime part
preview in email messages.

2 years ago* admin/authors.el (authors-aliases): Add ignored authors.
Eli Zaretskii [Sun, 24 Mar 2024 12:36:44 +0000 (08:36 -0400)]
* admin/authors.el (authors-aliases): Add ignored authors.

2 years ago* etc/NEWS: Update for Emacs 29.3
Eli Zaretskii [Sun, 24 Mar 2024 12:19:29 +0000 (08:19 -0400)]
* etc/NEWS: Update for Emacs 29.3

2 years agoFix native compilation for circular immediates (bug#67883)
Andrea Corallo [Sun, 24 Mar 2024 10:29:37 +0000 (11:29 +0100)]
Fix native compilation for circular immediates (bug#67883)

* test/src/comp-resources/comp-test-funcs.el
(comp-test-67883-1-f): New function.

* lisp/emacs-lisp/comp.el (comp--collect-rhs)
(comp--ssa-rename-insn): Handle setimm aside to avoid unnecessary
immediate manipulation.
(comp--copy-insn-rec): Rename.
(comp--copy-insn): New function.
(comp--dead-assignments-func): Handle setimm aside to avoid
unnecessary.

2 years ago; * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Fix typo.
Po Lu [Sun, 24 Mar 2024 03:05:31 +0000 (11:05 +0800)]
; * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Fix typo.

Author:

2 years agoDon't define user-ptr type when user-ptrp is not present
Po Lu [Sun, 24 Mar 2024 03:02:34 +0000 (11:02 +0800)]
Don't define user-ptr type when user-ptrp is not present

* lisp/emacs-lisp/cl-preloaded.el (user-ptr): Condition on
presence of predicate function.

2 years agoImprove consistency of content file name handling
Po Lu [Sun, 24 Mar 2024 02:59:54 +0000 (10:59 +0800)]
Improve consistency of content file name handling

* java/org/gnu/emacs/EmacsService.java (getDisplayNameHash):
Always encode file names as modified UTF-8, as insurance against
future changes to undocumented behavior of the JVM.

2 years agocl-preloaded.el: Improve docstrings of "kinds"
Stefan Monnier [Sun, 24 Mar 2024 02:48:17 +0000 (22:48 -0400)]
cl-preloaded.el: Improve docstrings of "kinds"

* lisp/emacs-lisp/cl-preloaded.el (cl--class): Improve the docstring.
(built-in-class): Add a docstring.

2 years ago* doc/emacs/help.texi (Name Help): Mention buttons (bug#69935)
Stefan Monnier [Sun, 24 Mar 2024 02:27:34 +0000 (22:27 -0400)]
* doc/emacs/help.texi (Name Help): Mention buttons (bug#69935)

2 years agoedebug.el: Better strip instrumentation from backtraces
Stefan Monnier [Sat, 23 Mar 2024 23:21:26 +0000 (19:21 -0400)]
edebug.el: Better strip instrumentation from backtraces

Rework the code that "cleans" the backtrace for `edebug-pop-to-backtrace`.
The main changes are the following:

- Strip instrumentation from "everywhere" rather than trying to limit the
  effect to "code" and leave "data" untouched.  This is a worthy
  goal, but it is quite difficult to do since code contains data
  (so we ended up touching data anyway) and data can also
  contain code.
  The risk of accidentally removing something because it happens
  to look like instrumentation is very low, whereas it was very common
  for instrumentation to remain in the backtrace.

- Use a global hash-table to remember the work done, instead of
  using separate hash-table for each element.  By using a weak
  hash-table we avoid the risk of leaks, and save a lot of work
  since there's often a lot of subexpressions that appear
  several times in the backtrace.

* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Tweak code
layout so the comments are more clear.
(edebug-unwrap): Remove redundant patterns for `closure` and `lambda`.
Add `:closure-dont-trim-context` to the `edebug-enter` pattern,
so it also gets removed (this should have been done in commit
750bc57cbb8d).
(edebug--unwrap-cache): New var.
(edebug-unwrap*): Use it.
(edebug--unwrap1): Delete function.  Merged into `edebug-unwrap*`.
Also apply unwrapping to the contents of byte-code functions since they
can refer to lambda expressions captured by the closure.
(edebug--symbol-prefixed-p): Rename from
`edebug--symbol-not-prefixed-p` and adjust meaning accordingly.
(edebug--strip-instrumentation): Adjust accordingly and simplify
a bit by unifying the "lambda" case and the "everything else" case.
(edebug--unwrap-frame): Use `cl-callf` and unwrap arguments even if
they've already been evaluated.

2 years agoReuse command-indicator code for script lines in ERC
F. Jason Park [Mon, 11 Mar 2024 06:09:59 +0000 (23:09 -0700)]
Reuse command-indicator code for script lines in ERC

* lisp/erc/erc-goodies.el (erc-load-irc-script-lines): Move here from
main file and rework to always use `command-indicator' instead of only
partially, when available.  Also use internal "send-action" and
"send-message" interfaces to defer command-handler output until
command lines have been inserted.
* lisp/erc/erc.el (erc-process-input-line): Redo doc string.
(erc-process-script-line): Fold exceptionally overlong line.
(erc-load-irc-script-lines): Move to erc-goodies.el.  (Bug#67032)

2 years agoRestore leading space to right-margin stamps in ERC
F. Jason Park [Mon, 11 Mar 2024 06:09:59 +0000 (23:09 -0700)]
Restore leading space to right-margin stamps in ERC

* lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Insert a single
space character immediately before right-side stamps managed by
`erc-stamp--display-margin-mode'.  Include it as part of the
`timestamp' field.  This behavior was originally present in an earlier
draft of the changes for bug#60936, mainly to favor symmetry between
hard-wrapped fill styles and fill-wrap with regard to stamps.  It was
subsequently removed to simplify management, so that the `field' and
`display' intervals aligned.
* test/lisp/erc/erc-stamp-tests.el
(erc-stamp--display-margin-mode--right): Update expected output.

; test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-post-01.eld:
; Add space.
; test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld:
; Add space.
; test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: Add space.
; test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Add space.

2 years agoRemove mishandled erc-control-default-{fg,bg} faces
F. Moukayed [Sun, 17 Mar 2024 16:43:36 +0000 (16:43 +0000)]
Remove mishandled erc-control-default-{fg,bg} faces

Partially revert those portions of 7b4ca9e609e "Leverage inverse-video
for erc-inverse-face" that introduced and managed explicit faces for
the "default" 99 color code.

* lisp/erc/erc-goodies.el (erc-control-default-fg)
(erc-control-default-bg): Remove unused faces originally meant to be
new in ERC 5.6.
(erc-get-fg-color-face, erc-get-bg-color-face): Return nil for n=99.
(erc-controls-interpret, erc-controls-highlight): Preserve an
interval's existing background so "if only the foreground color is
set, the background color stays the same," as explained by
https://modern.ircdocs.horse/formatting#color.  (Bug#69860)

Copyright-paperwork-exempt: yes

2 years agoRemove unused faces from various erc-goodies tests
F. Jason Park [Wed, 20 Mar 2024 06:51:46 +0000 (23:51 -0700)]
Remove unused faces from various erc-goodies tests

; A note to anyone running ERC's test suite while bisecting and
; unlucky enough to land on this commit: apologies for the
; inconvenience.  It fails because it includes adjustments for fixes
; only introduced by the subsequent commit.  This is obviously
; objectionable but was done knowingly in order to duck the
; copyright-exemption threshold for new contributors.

* test/lisp/erc/erc-goodies-tests.el
(erc-controls-highlight--spoilers)
(erc-controls-highlight--inverse): Remove all mention of stricken
faces `erc-control-default-fg' and `erc-control-default-bg'.
(erc-controls-highlight/default-foreground)
(erc-controls-highlight/default-background): New tests.
(Bug#69860)

2 years ago(describe-package-1): Fix bug#69712
Stefan Monnier [Sat, 23 Mar 2024 20:11:07 +0000 (16:11 -0400)]
(describe-package-1): Fix bug#69712

* lisp/emacs-lisp/package.el (describe-package-1): Improve the test to
determine if `maintainers` contains a single cons or a list of conses.

2 years ago; Fix markup in recent change to dired-x.texi.
Basil L. Contovounesios [Sat, 23 Mar 2024 19:15:40 +0000 (20:15 +0100)]
; Fix markup in recent change to dired-x.texi.

2 years agoRecompute :map when image :scale, :rotation, or :flip changes
Joseph Turner [Fri, 8 Mar 2024 05:55:00 +0000 (21:55 -0800)]
Recompute :map when image :scale, :rotation, or :flip changes

Now, when transforming an image, its :map is recomputed to fit.
Image map coordinates are integers, so when computing :map,
coordinates are rounded.  To prevent an image from drifting from
its map after repeated transformations, 'create-image' now adds
a new image property :original-map, which is combined with the
image's transformation parameters to recompute :map.

* lisp/image.el (image-recompute-map-p): Add user option to
control whether :map is recomputed when an image is transformed.
(create-image): Create :map from :original-map and vice versa.
(image--delayed-change-size): Fix comment.
(image--change-size, image-rotate, image-flip-horizontally,
image-flip-vertically): Recompute image map after transformation
and mention 'image-recompute-map-p' in docstring.
(image--compute-map): Add function to compute a map from original
map.
(image--compute-original-map): Add function to compute an
original map from map.
(image--scale-map): Add function to scale a map based on :scale.
(image--rotate-map): Add function to rotate a map based on
:rotation.
(image--rotate-coord): Add function to rotate a map coordinate
pair.
(image--flip-map): Add function to flip a map based on :flip.
(image-increase-size, image-decrease-size, image-mouse-increase-size)
(image-mouse-decrease-size): Mention 'image-recompute-map-p' in
docstrings.
* etc/NEWS: Add NEWS entry.
* doc/lispref/display.texi (Image Descriptors): Document :original-map
and new user option 'image-recompute-map-p'.
* test/lisp/image-tests.el (image--compute-map-and-original-map):
Test 'image--compute-map' and 'image--compute-original-map'.
(image-tests--map-equal): Add equality predicate to compare image maps.
(image-create-image-with-map): Test that 'create-image' adds :map
and/or :original-map as appropriate.
(image-transform-map): Test functions related to transforming maps.
(Bug#69602)

2 years agoAdd 'eww-readable-urls'
Jim Porter [Mon, 18 Mar 2024 23:52:34 +0000 (16:52 -0700)]
Add 'eww-readable-urls'

* lisp/net/eww.el (eww-readable-urls): New option.
(eww-default-readable-p): New function...
(eww-display-html): ... use it.

* test/lisp/net/eww-tests.el (eww-test/readable/default-readable): New
test.

* doc/misc/eww.texi (Basics): Document 'eww-readable-urls'.

* etc/NEWS: Announce this change (bug#68254).

2 years agoAllow toggling "readable" mode in EWW
Jim Porter [Sun, 17 Mar 2024 19:01:59 +0000 (12:01 -0700)]
Allow toggling "readable" mode in EWW

Additionally, add an option to prevent adding a new history entry for
each call of 'eww-readable' (bug#68254).

* lisp/net/eww.el (eww-retrieve):

* lisp/net/eww.el (eww-readable-adds-to-history): New option.
(eww-retrieve): Make sure we call CALLBACK in all configurations.
(eww-render): Simplify how to pass encoding.
(eww--parse-html-region, eww-display-document): New functions, extracted
from...
(eww-display-html): ... here.
(eww-document-base): New function.
(eww-readable): Toggle "readable" mode interactively, like with a minor
mode.  Consult 'eww-readable-adds-to-history'.
(eww-reload): Use 'eshell-display-document'.

* test/lisp/net/eww-tests.el (eww-test--with-mock-retrieve): Fix indent.
(eww-test/display/html, eww-test/readable/toggle-display): New tests.

* doc/misc/eww.texi (Basics): Describe the new behavior.

* etc/NEWS: Announce this change.

2 years ago; * doc/misc/dired-x.texi (Omitting Variables): Fix markup.
Eli Zaretskii [Sat, 23 Mar 2024 17:10:17 +0000 (19:10 +0200)]
; * doc/misc/dired-x.texi (Omitting Variables): Fix markup.

2 years agoUse 'regexp-opt' in 'dired-omit-regexp'
Spencer Baugh [Sat, 16 Mar 2024 17:11:24 +0000 (17:11 +0000)]
Use 'regexp-opt' in 'dired-omit-regexp'

In my benchmarking, for large dired buffers, using 'regexp-opt'
provides around a 3x speedup in omitting.

'regexp-opt' takes around 5 milliseconds, so to avoid slowing
down omitting in small dired buffers we cache the return value.

Since omitting is now 3x faster, increase 'dired-omit-size-limit'
by 3x.  Also, document 'dired-omit-size-limit' better.

* doc/misc/dired-x.texi (Omitting Variables): Document
'dired-omit-size-limit'.
* etc/NEWS: Announce increase of 'dired-omit-size-limit'.
* lisp/dired-x.el (dired-omit--extension-regexp-cache): Add.
(dired-omit-regexp): Use 'regexp-opt'.  (Bug#69775)
(dired-omit-size-limit): Increase and improve docs.

2 years ago* src/coding.c (produce_chars): Fix a thinko (bug#69966).
Eli Zaretskii [Sat, 23 Mar 2024 16:54:39 +0000 (18:54 +0200)]
* src/coding.c (produce_chars): Fix a thinko (bug#69966).

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 23 Mar 2024 10:51:40 +0000 (06:51 -0400)]
Merge from origin/emacs-29

e95a8622263 ; * lisp/keymap.el (key-parse): Fix processing of "[TAB]"...
afb7a23e7b9 ; Improve documentation of 'backup-by-copying'

2 years ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 23 Mar 2024 10:51:40 +0000 (06:51 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

51848e4731f * Fix missing `comp-files-queue' update (bug#63415).

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 23 Mar 2024 10:51:39 +0000 (06:51 -0400)]
Merge from origin/emacs-29

689f04a2ddf Clarify description of format-spec truncation
759dedfab07 More accurate documentation of 'rmail-mail-new-frame'
fa79de7c6b8 ; * lisp/calendar/calendar.el: Remove extra space.
7f6e335f4b4 Fix documentation of M-SPC in user manual
5bdc2436c64 ; * lisp/emacs-lisp/cl-macs.el (cl-labels): Fix stray dif...
8014dbb2ad8 * admin/notes/bugtracker: Minor copyedit.
06a991e7e87 ; * admin/notes/bugtracker: Minor copyedit.
c890622e1a9 Tweak regexp for object initializers in csharp-mode (bug#...
f48babb1120 `term-mode': mention the keymap to add keybindings to
8cf05d9be12 Fix 'shortdoc-copy-function-as-kill'
d5901f3f05e Improve documentation of 'edebug-print-*' variables

2 years agoMerge remote-tracking branch 'savannah/master' into master-android-1
Po Lu [Sat, 23 Mar 2024 10:15:28 +0000 (18:15 +0800)]
Merge remote-tracking branch 'savannah/master' into master-android-1

2 years agoEnable calling decode_coding_object with both SRC and DST_OBJECT Qnil
Po Lu [Sat, 23 Mar 2024 10:14:12 +0000 (18:14 +0800)]
Enable calling decode_coding_object with both SRC and DST_OBJECT Qnil

* src/coding.c (growable_destination): A C destination is also
reallocable.
(produce_chars): Don't consider source and destination identical
if they are EQ but Qnil.

2 years agoMinor adjustments to last change
Po Lu [Sat, 23 Mar 2024 10:12:56 +0000 (18:12 +0800)]
Minor adjustments to last change

* src/androidvfs.c (android_vfs_convert_name): Simplify.
(android_saf_tree_readdir, android_root_name): Remove redundant
statements.

2 years ago; Fix doc strings of some treesit-related functions
Eli Zaretskii [Sat, 23 Mar 2024 09:50:55 +0000 (11:50 +0200)]
; Fix doc strings of some treesit-related functions

* lisp/treesit.el (treesit-defun-tactic)
(treesit-defun-name-function, treesit-thing-at-point)
(treesit-defun-at-point):
* lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset):
* lisp/progmodes/c-ts-mode.el (c-ts-mode-toggle-comment-style)
(c-ts-mode-indent-style, c-ts-mode-emacs-sources-support)
(c-ts-mode--syntax-propertize, c-ts-mode--anchor-prev-sibling)
(c-ts-mode--standalone-parent-skip-preproc)
(c-ts-mode--standalone-grandparent, c-ts-mode--else-heuristic)
(c-ts-mode--declarator-identifier)
(c-ts-mode--fontify-declarator, c-ts-mode--fontify-variable)
(c-ts-mode--defun-valid-p)
(c-ts-mode--defun-for-class-in-imenu-p)
(c-ts-mode--defun-skipper, c-ts-mode--emacs-defun-p)
(c-ts-mode--emacs-defun-at-point)
(c-ts-mode--emacs-current-defun-name, c-ts-mode--reverse-ranges)
(c-ts-mode, c++-ts-mode, c-or-c++-ts-mode): Doc fixes.

2 years agoImprove support for preprocessor macros in 'c/c++-ts-mode'
Eli Zaretskii [Sat, 23 Mar 2024 09:09:57 +0000 (11:09 +0200)]
Improve support for preprocessor macros in 'c/c++-ts-mode'

* lisp/progmodes/c-ts-mode.el (c-ts-mode--defun-name)
(c-ts-base-mode): Support preprocessor macros as defuns.  This
fixes both navigation by defuns and add-log when cpp macros are at
point.